<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>爱情纪录手册</title>

<style>
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font: normal 16px/1.5 'Titillium Web', sans-serif;
  background: linear-gradient(54deg, #9164ff, #8bfff4);
  color: #3c3f64;
  overflow-x: hidden;
  padding-bottom: 50px;
}

.timeline ul li {
  list-style-type: none;
  position: relative;
  width: 6px;
  margin: 0 auto;
  padding-top: 50px;
  background: #fff;
}
.timeline ul li::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%) rotate(45deg);
  width: 20px;
  height: 20px;
  z-index: 2;
  background: #eee;
}
.timeline ul li div {
  position: relative;
  bottom: 0;
  width: 400px;
  padding: 20px;
  background: #fff;
  box-shadow: 4px 13px 30px 1px rgba(252, 56, 56, 0.2);
  border-radius: 5px;
  display: flex;
  align-items: center;
}
.timeline ul li div time {
  position: absolute;
  background: #f5af19;
  width: 80px;
  height: 30px;
  top: -15px;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 2px;
}
.timeline ul li div div {
  height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.timeline ul li div div p {
  text-align: center;
}
.timeline ul li div .discovery {
  margin-right: 10px;
}
.timeline ul li:nth-of-type(odd) > div {
  left: 45px;
}
.timeline ul li:nth-of-type(even) > div {
  left: -439px;
}

.timeline ul li div {
  visibility: hidden;
  opacity: 0;
  transition: all 0.5s ease-in-out;
}
.timeline ul li:nth-of-type(odd) div {
  transform: translate3d(100px, -10px, 0) rotate(10deg);
}
.timeline ul li:nth-of-type(even) div {
  transform: translate3d(-100px, -10px, 0) rotate(10deg);
}
.timeline ul li.in-view div {
  transform: none;
  visibility: visible;
  opacity: 1;
}

@media screen and (max-width: 900px) {
  .timeline ul li div {
    width: 250px;
    flex-direction: column;
  }
  .timeline ul li div div {
    width: 80%;
    margin: 10px;
  }
  .timeline ul li:nth-of-type(even) > div {
    left: -289px;
  }
}
@media screen and (max-width: 600px) {
  body {
    background: #8bfff4;
  }

  .timeline ul li {
    margin-left: 20px;
  }
  .timeline ul li div {
    width: calc(100vw - 91px);
  }
  .timeline ul li:nth-of-type(even) > div {
    left: 45px;
  }
}
</style>
</head>
<body>
<section class="timeline">
    <ul>
        <li>
            <div>
                <time>2022.6.29</time>
                <div class="discovery">
                    <h1>我们第一次相遇</h1>
                </div>
                <div class="scientist">
                    <h1>一见</h1>
                    <span>如故</span>
                </div>
            </div>
        </li>
        <li>
            <div>
                <time>2022.8.10</time>
                <div class="discovery">
                    <h1>商议表白事项</h1>
                </div>
                <div class="scientist">
                    <h1>哈哈</h1>
                    <span>哈哈</span>
                </div>
            </div>
        </li>
        <li>
            <div>
                <time>2022.8.11</time>
                <div class="discovery">
                    <h1>Miao 小范围宣布脱单</h1>
                </div>
                <div class="scientist">
                    <h1>按捺</h1>
                    <span>不住</span>
                </div>
            </div>
        </li>
        <li>
            <div>
                <time>2022.8.21</time>
                <div class="discovery">
                    <h1>第一次一起吃米线</h1>
                </div>
                <div class="scientist">
                    <h1>那天的Miao</h1>
                    <span>好美好可爱</span>
                </div>
            </div>
        </li>
        <li>
            <div>
                <time>2022.8.26</time>
                <div class="discovery">
                    <h1>第一次牵Miao的手</h1>
                </div>
                <div class="scientist">
                    <h1>很暖</h1>
                    <span>有点儿小激动</span>
                </div>
            </div>
        </li>
        <li>
            <div>
                <time>2022.8.27</time>
                <div class="discovery">
                    <h1>Dragon向Miao表白(搁置)</h1>
                </div>
                <div class="scientist">
                    <h1>有点点</h1>
                    <span>可惜</span>
                </div>
            </div>
        </li>
        <li>
            <div>
                <time>2022.8.27</time>
                <div class="discovery">
                    <h1>收到Miao的皮筋</h1>
                    <!-- <p>
                        Electron
                    </p> -->
                </div>
                <div class="scientist">
                    <h1>男带黑，女带粉</h1>
                    <span>hhhhh</span>
                </div>
            </div>
        </li>
        <li>
            <div>
                <time>2022.x.x</time>
                <div class="discovery">
                    <h1>期待ing</h1>
                    <!-- <p>
                        Radium
                    </p> -->
                </div>
                <div class="scientist">
                    <h1>Todo</h1>
                    <!-- <span>Madam Curie</span> -->
                </div>
            </div>
        </li>
        <li>
            <div>
                <time>202x.x.x</time>
                <div class="discovery">
                    <h1>期待ing</h1>
                    <!-- <p>
                        Quantum Theory
                    </p> -->
                </div>
                <div class="scientist">
                    <h1>Todo</h1>
                    <!-- <span>Max Plank</span> -->
                </div>
            </div>
        </li>
        <li>
            <div>
                <time>20xx.x.x</time>
                <div class="discovery">
                    <h1>期待中</h1>
                    <!-- <p>
                        Principle of Relativity
                    </p> -->
                </div>
                <div class="scientist">
                    <h1>Todo</h1>
                    <!-- <span>Albert Einstein</span> -->
                </div>
            </div>
        </li>
        <li>
            <div>
                <time>20xx.x.x</time>
                <div class="discovery">
                    <h1>期待中</h1>
                    <!-- <p>
                        Principle of Relativity
                    </p> -->
                </div>
                <div class="scientist">
                    <h1>Todo</h1>
                    <!-- <span>Albert Einstein</span> -->
                </div>
            </div>
        </li>
        <li>
            <div>
                <time>2xxx.x.x</time>
                <div class="discovery">
                    <h1>期待ing</h1>
                    <!-- <p>
                        Nuclear Reactor
                    </p> -->
                </div>
                <div class="scientist">
                    <h1>Todo</h1>
                    <!-- <span>Anrico Fermi</span> -->
                </div>
            </div>
        </li>
    </ul>
</section>

<script>
var items = document.querySelectorAll(".timeline li");

function isElementInViewport(el) {
  var rect = el.getBoundingClientRect();
  return (
    rect.top >= 0 &&
    rect.left >= 0 &&
    rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
    rect.right <= (window.innerWidth || document.documentElement.clientWidth)
  );
}

function callbackFunc() {
  for (var i = 0; i < items.length; i++) {
    if (isElementInViewport(items[i])) {
      if(!items[i].classList.contains("in-view")){
        items[i].classList.add("in-view");
      }
    } else if(items[i].classList.contains("in-view")) {
        items[i].classList.remove("in-view");
    }
  }
}
 
window.addEventListener("load", callbackFunc);
window.addEventListener("scroll", callbackFunc);
</script>

</body>
</html>
